package com.shujia.day18;

//import com.mysql.jdbc.Driver;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Code04MysqlConnect {
    public static void main(String[] args) throws SQLException {

        // JDBC: Java Database Connector : 通过Java连接数据库的一套服务 称为JDBC连接

        // 对于Mysql来说它实现了JDBC服务

        /*
            对于JDBC来说，连接数据库是一套规范，那么就有对应的套路，共有六部 要求能记下来
                1.加载驱动 告诉JAVA连接的数据库是谁 Mysql 或者Oracle
                2.创建连接，获取连接对象 给定连接信息：用户名 密码 Ip 端口 数据库 配置信息等
                3.获取数据库的操作对象 可以去执行SQL语句
                4.对SQL进行执行
                5.如果有数据返回，那么需要对数据进行做迭代
                6.关闭连接及操作对象
         */


        /*
            DriverManager 类中提供的方法:
                registerDriver(Driver driver) 注册与给定的驱动程序
                    其中Diver是一个接口 那么对象要给定Mysql中提供的Driver对象
                        public class Driver extends NonRegisteringDriver implements java.sql.Driver

                getConnection(String url) 尝试建立与给定数据库URL的连接。
                       url: 形式为 jdbc:subprotocol:subname 的数据库网址
                                   jdbc:mysql://ip:port/database?参数名1=参数值&参数名2=参数值

         */


        // 1.加载驱动

        Driver driver = new Driver();
        DriverManager.registerDriver(driver);

        // 2.创建连接，获取连接对象 给定连接信息：用户名 密码 Ip 端口 数据库 配置信息等
        Connection connection = DriverManager.getConnection("jdbc:mysql://192.168.163.100:3306/stu?useSSL=false","root","123456");
        /*
            错误信息：
                You need either to explicitly disable SSL by setting useSSL=false,
                对于Mysql中的SSL验证需要对其进行关闭  该错误出现频率比较高 所以大家需要熟悉
         */

        //  3.获取数据库的操作对象 可以去执行SQL语句
        Statement statement = connection.createStatement();


        //  4.对SQL进行执行
        String sql = "insert into dept values('50','bigdata','YT')";
        statement.executeUpdate(sql); // 选择执行函数SQL进行执行操作


        // 6.关闭连接及操作对象

        statement.close();
        connection.close();


    }
}
